import math

print(0.1 + 0.2)  # 0.30000000000000004

# ulp()：表示对应浮点数的最低有效位
print(0.1 + 0.2 == 0.3 + math.ulp(0.3))  # True


class C:

    # 让对象作为索引值使用的时候才会触发
    def __index__(self):
        print("被拦截了～")
        return 3


c = C()
# 报错
# print(c[2])  # TypeError: 'C' object is not subscriptable


s = "FishC"

# 是这个对象被当作索引去使用的时候，该对象的 __index__ 方法会被执行
print(s[c])  # 被拦截了～

print(bin(c))  # 被拦截了～
